Over the last few years, significant changes have taken place in the telephony industry. Traditionally, phone calls are made over dedicated telephone circuits over the Public Switched Telephone Network (PSTN). In the PSTN world, a “line” is an electrical circuit that is set up and provided to a customer for a phone call. Such a circuit remains in place for the duration of a phone call. The circuits typically connect an on-premise Private Branch Exchange (PBX) system at a facility to a telephone company switch. If a business customer needs to potentially handle 100 calls at any given time, then they will need 100 circuits.
With the advent of Voice over Internet Protocol (VoIP) technology, many people and businesses are switching to VoIP phone systems. VoIP telephones can communicate with conventional telephones, and vice-versa. In a VoIP call, a speaker's speech is digitized at the originating end, and is transmitted as small bundles of data (called “packets”) over the Internet. At the receiving end, the packets are reassembled into a signal audible to the human ear. Although the name VoIP includes the word “voice”, VoIP technologies are used for transporting just not audio or voice data, but video (multimedia), file download data, and other types of data as well. The advantages of VoIP solutions over traditional telephone systems include reduced equipment and phone services cost, useful communication-related features, and the ability to integrate a person's phone with other computing devices.
Typically, VoIP calls share a data network with other computing devices as VoIP calls are carried over the Internet. However, the Internet is a large collection of networks owned and operated by different and unrelated third parties, thus making it very difficult to control the path of individual packets. For example, packets can be lost, delayed, or corrupted as they travel from a source to a destination hopping through intermediate computer nodes. If one or more intermediate computer networks (or nodes) are down (due to disaster, natural calamities, routine maintenance, or some other unpredictable reason), the packets may need to be re-routed through some other computer networks (or nodes). To summarize, the geographically diverse and unpredictable routing infrastructure of the Internet poses significant problems for routing VoIP packets and other data transfer communications.
Furthermore, different applications (and their associated data) leveraging VoIP systems have unique and diverse requirements/characteristics. For example, a VoIP connection (or other data transfer connection or protocol) can be used for transferring a voice call (i.e., audio data) for a call-based application, and can also be used for downloading large files for a web download application. However, the requirements for these two different applications are different. Because web browsing experiences are not significantly affected by connection delays, a 150 millisecond delay may pass unnoticed to a user downloading large files as long as the download speed is sufficient. That is, such a user would still receive their requested information quickly as long as the download speeds are acceptable, and a small delay at the beginning of the download would be virtually imperceptible. However, a 150 millisecond delay in transferring voice (audio data) during a call would be extremely frustrating to users, and could even result in interference with natural speech progression or an “echo”. Thus, applications leveraging VoIP systems or other data transfer systems usually have unique requirements that are usually not provided by conventional non-optimized VoIP systems.
Generally speaking, a VoIP system comprises three parts: at least one on-premise PBX system, a VoIP service over computer networks, and one or more VoIP-compatible devices (e.g., telephones) installed at a premise. Conventional VoIP systems typically offer a solution that takes a segmented approach by addressing a specific portion of these three above-mentioned parts. For example, some VoIP systems specialize in the PBX system but do not address the VoIP service. Other systems offer VoIP service but not the on-premise PBX system(s). Consequently, such approaches suffer from limited flexibility, features and reliability, and are usually affected by network congestion and delays.
Therefore, there is a long-felt but unresolved need for a system or method that unifies the on-premise PBX systems, the VoIP service, and the VoIP-compatible devices so as to provide an end-to-end optimized delivery of application data over data networks. The system should be sophisticated to include monitoring and management functionalities, and adjust communication session parameters to assure the best possible quality. For example, the system should provide (a real-time or close to real-time) evaluation of the network conditions, e.g., which networks are congested, and other factors associated with the geographically diverse and unpredictable routing infrastructure of the Internet. The system should be able to optimally adapt for a wide variety of applications that leverage the VoIP connection.
Additionally, the system should be easily scalable, i.e., users or consumers of the system can order as many lines as they expect to need during peak times. Also, in the event of seasonal or unexpected VoIP traffic increases, the system should be able to provision extra VoIP circuits “on the fly” to handle such increases. Moreover, the system should be able to provide notification (along with relevant recommendations) to a user if anomalies in the network are detected, e.g., in the event of a degrading local area or wide area network connection. The system should be reliable, flexible, and easy to use, and yet provide users with a variety of useful communication-related features (e.g., automatic attendants, multi party conferencing, unlimited voice mail, etc.) in addition to cost savings.